prev next indexHOMEPROJECTS

Importance of Kernel and srvices

A well built Kernel can take out all the juice of the Hardware. Building a Linux Kernel based on the Hardware is Highly Recommended. Kernel compilation is very easy under debian using kernel-package and need only three steps. So first we need to install the required packages.


aptitude install make gcc bin86 libc6-dev kernel-package module-init-tools kernel-source-2.6.10

source archive will install the source in /usr/src. Unarchive the source by 'tar -vjxf kernel-source-2.6.10.tar.bz2'

Create a link like 'ln -s kernel-source-2.6.10 linux'


cd into the link. 'cd linux'


Three steps of building kernel under debian
1)make-kpkg clean (clean process [if you compile a kernel before] )
2) make menuconfig
3)make-kpkg --append-to-version=.102006 kernel_image

--append-to-version simply adds a number you select as version number. You need this option if you like to build more than one kernel-image for doing experiment. In that case just use different version to distinguish between the custom kernel images. After successful compilation you can see a .deb package of newly built kernel under /usr/src. Install it using  'dpkg -i <kernel_image.deb>'

Build a kernel which can use all your Hardware facilities. Kernel should use all the special register of your CPU. Select a disk scheduling which can provides best result for Desktop application if you mostly use GUI. There must be i2c and smbus compiled to use the sensor chip of the mother board. If your HDD supports UDMA then definitely enable its driver into the kernel. alsa has become more matured and supports more and more sound cards. Possibility is there that it can supports your old sound card too. If yes don't forget to compile alsa driver for your sound card to get better sound.


Services or daemons

Linux executes some predefined daemons for a specific runlevel. Most distros start a diverse range of services or daemons at boot time, and while this automatically covers the needs of the majority of users, it also means that there will probably be several processes started that aren't required. This results in longer boot-up times, increased memory usage. Disable all unwanted daemons in your system. There is a particular folder having daemons script for a particular runlevel. For an example runlevel 5 follows the daemons at /etc/rc.d/rc5.d (in Redhat) and /etc/rc5.d (in debian). If you take a look at the specific folder (runlevel) you'll see that the names of the scripts all start with a S (for Start) or a K (for Kill or stop) followed by a number. You have to decide which S should be changed to K. For this you have to understand what does what. Below is a list, though not a complete one.

anacron - checks `cron' jobs and executes them. Useful if you have cron jobs scheduled but don't run your machine all the time--anacron will detect that during bootup.

amd - automount daemon (automatically mounts removable media).

apmd - Advanced Power Management BIOS daemon. For use on machines, especially laptops, that support apm.

arpwatch - keeps watch for ethernet/ip address pairings.

atd - runs jobs queued by the "at" command.

autofs - control the operation of automount daemons

bootparamd - server process that provides information to diskless clients necessary for booting.

crond - automatic task scheduler. Manages the execution of tasks that are executed at regular but infrequent intervals, such as rotating log files, cleaning up /tmp directories, etc.

prev next indexHOMEPROJECTS
Copyright©2006, Joydeep Bakshi